using Jupiter.Infrastructure.Permission.Attributes;
using SqlSugar;
using Wips.Domain.Models.Authorities.Model;

namespace Wips.AppService.Authorities.Organizations.Responses
{
    /// <summary>
    /// 组织架构分页返回值
    /// </summary>
    [DataPermission("组织架构模块",
        typeof(GetOrganizationPagesResponse),
        typeof(Organization))]
    public class GetOrganizationPagesResponse 
    {
        /// <summary>
        /// ID
        /// </summary>
        [SugarColumn(IsPrimaryKey = true)]
        public string? Id { get; set; }
        
        /// <summary>
        /// 父级Id
        /// </summary>
        [SugarColumn(IsPrimaryKey = true)]
        public string? ParentId { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; } = "";

        /// <summary>
        /// 联系人姓名
        /// </summary>
        public string? ContactName { get; set; }

        /// <summary>
        /// 联系人手机号
        /// </summary>
        public string? ContactPhoneNumber { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public Status Status { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public string? CreatorId { get; set; }
        
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime Created { get; set; }

        /// <summary>
        /// 最后更新时间
        /// </summary>
        public DateTime? Updated { get; set; }

        /// <summary>
        /// 上级
        /// </summary>
        public string? ParentName { get; set; }
    }
}